<?php

namespace app\checkin\model;

use think\admin\Model;

/**
 * 打卡记录模型
 */
class CheckinRecord extends Model
{
    /**
     * 数据表名
     * @var string
     */
    protected $name = 'checkin_record';
    
    /**
     * 自动时间戳
     * @var bool
     */
    protected $autoWriteTimestamp = 'datetime';
    
    /**
     * 只有创建时间
     * @var bool
     */
    protected $updateTime = false;
    
    /**
     * 状态数据
     * @var array
     */
    public static $statusMap = [
        1 => '正常',
        2 => '无效',
        3 => '进行中',
    ];
    
    /**
     * 获取状态文本
     * @param $value
     * @param $data
     * @return string
     */
    public function getStatusTextAttr($value, $data)
    {
        return self::$statusMap[$data['status']] ?? '未知';
    }
    
    /**
     * 关联会员
     * @return \think\model\relation\HasOne
     */
    public function member()
    {
        return $this->hasOne(Member::class, 'id', 'member_id')->bind(['member_name' => 'name', 'member_phone' => 'phone']);
    }
    
    /**
     * 关联门店
     * @return \think\model\relation\HasOne
     */
    public function store()
    {
        return $this->hasOne(Store::class, 'id', 'store_id')->bind(['store_name' => 'name']);
    }
}

